home *** CD-ROM | disk | FTP | other *** search
-
- ---------------------------
- PolyWog, a simple 3D editor
- Version 1.88 Documentation
- (C) 1995 Ben Discoe
- ---------------------------
-
- If you like this program, or find problems, or want more features, or
- even find it vaguely interesting, please let me know! Send email to
- iguana@crl.com!
-
- The main purpose of this program is to play with polyhedra and "geodesic"
- structures. However, it is fairly general-purpose so you could use it
- for any sort of polygonal 3D modelling/world-design.
-
-
- *****************************************************************************
-
- F E A T U R E S
-
- * Creates and edits 3D polygonal objects
- * Start from a wide variety of regular polyhedra
- * Cut, Copy, Paste, Rotate, Scale, and Stretch
- * Extrude and Stellate
- * Surfaces of Revolution
- * Reads and writes GEO, Sense8 NFF, and PLG format files
- * Writes POV-ray triangle files
- * Detach and attach polygonal meshes
- * Zoom in or out
- * Grid and grid snap
- * Tons of keyboard shortcuts so you don't HAVE to use the GUI
- * Tesselates arbitrary triangles and quadrilaterals to any frequency
- * Constructs the dual of any closed polyhedron
- * Removes redundant vertices or polygons
- * Measure distances
- * Unlimited Undo and Redo!
- * Hide and unhide any part of the object while you're working on it
-
-
- *****************************************************************************
-
- B U T T O N S
-
- VERTEX ADD
- Puts you in Add Vertex mode. Click to add vertices anywhere.
- They will their third coordinate as zero (no depth).
-
- VERTEX DELETE
- Puts you in Delete Vertex mode. Click to delete vertices.
- Polywog will prevent you from deleting verts which are being used by
- polygons or lines.
-
- VERTEX SELECT
- Puts yoy in Select Vertex mode. In this mode, clicking on a vertex
- will toggle its selection. Double-click will do a select-connected
- from the indicated vertex.
-
- VERTEX MOVE0
- Puts you in Move Single Vertex mode. Click and drag to move a vertex.
-
- CREATE POLY / POLY3 / POLY4 / LINE
- Puts you in Create mode.
- For a polygon, click on each of the vertices, ending with the first
- vertex. For "POLY3" and "POLY4", Polywog knows that you want a 3- or
- 4-sided polygon, so you don't have to end with the first vertex.
- For a line, just click on two vertices.
-
- DESTROY POLY / POLY3 / POLY4 / LINE
- Puts you in Destroy mode.
- For a polygon, click on each of the vertices, ending with the first
- vertex. For "POLY3" and "POLY4", Polywog knows that you want a 3- or
- 4-sided polygon, so you don't have to end with the first vertex.
- For a line, just click on two vertices.
-
- SELECTION STRETCH
- In Stretch mode, hold down the mouse and drag to stretch the selected
- geometry in the two dimensions that the mouse is moving in.
- Stretching is performed around the selection center.
-
- SELECTION MOVE
- In Move mode, hold down the mouse and drag to move the selected
- geometry in the two dimensions that the mouse is moving in.
- Holding down SHIFT will snap the starting and ending points to the
- nearest vertices. This can be extremely useful for lining up parts
- of an object.
-
- SELECTION SCALE
- Scaling is exactly like stretching except that the all three
- dimensions are sretched by the same factor.
-
- SELECTION ROTATE
- In Rotate mode, click to define the point to rotate around, hold
- down the mouse and drag to define the amount of rotation. Let go
- and the selection will rotate.
-
- SELECTION SET COLOR
- Hitting this button will set all selected polys to the current color.
-
- AREA SELECT
- In Area Select mode, drag to define a box. All visible vertices in
- the box will be selected. Unless you hold down SHIFT to extend the
- selection, all vertices outside the box will be deselected.
-
- AREA DESELECT
- In Area Deselect mode, drag to define a box. All visible vertices
- in the box will be deselected.
-
- AREA ZOOM INTO
- In Area Zoom mode, drag to define a box. You will zoom in to view
- only the geometry in the box.
-
- VIEW FRONT / SIDE / TOP
- Indicates which view.
-
- VIEW FAKE 3D
- Adds an orthographic slant to your view. This is useful for getting
- a sense of depth for telling apart the front and back of objects.
- You can still do ALL editing in this mode.
- Viewing your object from a true 3D perspective requires a separate
- program, either realtime or nonrealtime, such as WorldToolKit or
- POV-Ray. Nonetheless, it is often useful to have a "fake"
- orthogonal slant, as a conceptual or selection aid.
-
- ZOOM
- Lets you change the degree of magnification. In Zoom mode, click
- the first button to zoom in towards a location, second button to
- zoom out away from a location.
-
- GLUE
- Glue will "merge" the the point closest to the pointer and the
- point closest to it. All degenerations are handled correctly.
-
- REFERENCE LINE
- The Reference Line tool is a "ruler" for measuring distance in
- 3D space. Both ends can be dragged around, or "attached" to points
- by double-clicking near the intended point. The distance (length
- of the reference line) appears in the upper right corner.
-
- PICK COLOR
- Not implemented yet. Will set the current color.
-
- UNDO / REDO
- You should be able to Undo and Redo ANY operation. If you find a
- bug in Undo/Redo, let me know. It's a fairly tricky feature.
- It's also fairly uncommon in 3d editors. Heck, 3D Studio for $3500
- doesn't even have SINGLE-LEVEL UNDO.
-
- GRID
- Toggle the visible grid.
-
- SNAP
- Toggle snapping to the snap grid.
-
-
- *****************************************************************************
-
- M E N U S
-
-
- PROJECT
- -------
- Load and Save
- These are self-descriptive.
-
- Clear
- Deletes all geometry from the current object.
-
- Save Defaults
- Saves the settings of the "Options" menu to a file called wog.opt,
- which is automatically loaded the next time you start.
-
-
- EDIT
- ----
- Note: there is no "real" clipboard support yet. Cut, Copy and Paste
- work by using a temporary Polywog object called "Clipboard".
-
- Duplicate
- Makes an exact in-place copy of all selected vertices,
- polygons, and lines. You should probably move the duplicated
- geometry right after, so that you don't forget where there is
- duplicate geometry.
-
- Erase
- Kills the selected vertices, polygons, and lines.
-
- Detach Selection
- Will "detach" the selected geometry from the unselected. Extras
- vertices are created as necessary, so that no vertices are shared
- between the selected and unselected geometry.
-
- Select All
- Selects all vertices.
-
- Select Connected
- Selects all verts which share polygons/lines with selected verts.
-
- Deselect All
- Deselects all vertices.
-
- Cut as a new object
- The selected vertices, polygons and lines will be removed from the
- current object and used to create a new object.
-
- Copy as a new object
- Same as Cut as a new object, except that the geometry isn't deleted.
-
- Affect Verts Only
- If set, Duplicate and Delete will only duplicate/delete vertices,
- not polys or lines.
-
- Affect Polys Only
- If set, Duplicate and Delete will only duplicate/delete polys and
- lines.
-
- Require All Verts
- If set, poolygons and lines will be considered selected only if all
- their vertices are selected. Otherwise, they are considered selected
- if any of their vertices are selected.
-
-
- VIEW
- ----
- Zoom All
- Adjusts the Zoom factor so that all visible geometry fits in the
- view.
-
- Zoom In / Zoom Out
- Zooms in/out by 20%. The shortcuts 'z' and 'Z' may be more useful
- because they zoom in/out around the point under the pointer.
-
- Zoom to Selection
- Adjusts the Zoom factor so that all selected geometry fits in the
- view.
-
- Zoom Reset
- Restores the Zoom to 1 unit = 1 pixel.
-
- There is no standard on which way the X, Y, and Z axes point. Polywog
- lets you choose between several popular schemes:
-
- VR386/Vscape Axes
- WorldToolKit Axes
- AutoCAD Axes
-
- Show Only Selection
- Hides any unselected geometry.
-
- Hide Selection
- Hides any selected geometry.
-
- Show Everything
- Un-hides all geometry.
-
- Hide Backfaces
- doesn't currently work very well
-
- Set View Colors...
- Lets you set which colors are used for polygons, vertices, lines, the
- window background, etc.
-
-
- POLYHEDRA
- ---------
- Tetrahedron
- Octahedron
- Cube
- Icosahedron
- Dodecahedron
- (rhombic Dodecahedron)
- Cuboctahedron
- Globe
- Torus
- Cylinder
- Box (xyz)
- These are some basic polyhedra. You can use them as starting points
- for constructing really wild, complex polyhedra using Polywog's
- special features. All polyhedra are created initially centered
- around the origin.
-
-
- OPERATIONS
- ----------
- Vertex at Center
- Creates a new vertex in the center of the object or selection. Very
- useful for finding midpoints of faces or solids, bisecting lines and
- angles, etc.
-
- Stellate...
- This will take every face and make a pyramid out of it, giving a "3D
- star" based on whatever shape you are using. Combining this feature
- with "Find Dual" can be used to form truncated forms of polyhedra.
- Try it.
-
- Extrude...
- Extrude the selected polygons in the indicated direction.
-
- Frequency Tesselation...
- This is one of the two Really Neat features of Polywog.
- This will divide each triangular (or quadrilateral) face into a set
- of smaller triangles, where the number of resultant triangles is frequency
- squared. Try this on your favorite polyhedra, then Normalize to get
- pseudo-geodesic structures. The reason why I say psuedo is because if you
- use this method with any ODD frequency, the resulting location of vertices
- does not truly correlate to subdiving the geodesicic arcs described by the
- polyhefron edges. It is, however, very close. You could theoretically
- raise a form to any large frequency, although you are, naturally, limited
- by your memory size.
-
- Flip/Swap XYZ...
- Invert or exchange the X, Y, Z values of the selection (or object, if
- nothing is selected). Useful for creating the "mirror" of some
- geomtry or converting from one axis convention to another.
-
- Spin (Surface of Revolution)...
- The selected lines are spun around the vertical axis to create a
- polygonal surface.
-
- Normalize
- This finds the center of all points and adjusts all points to lie the
- average distance from that center. Simply stated, it makes all
- points Spherical. One use is to project flat tesselated faces onto
- their geodesic arcs.
-
- Object Center->Origin
- Moves all points so that their vector sum is centered on the origin.
-
- Set Clockwisdom of Polys
- Most rendering systems determine the front and back faces of a
- polygon by considering whether the vertices are clockwise or
- counterclockwise. In case an object has inconsistent ordering, you
- can use this operation to set the clockwisdom of all polygons to be
- the same. Note that this assumes the object is convex and centered
- at the origin.
-
- Subdivide Quads
- Splits all 4-sided polygons into triangles.
-
- Subdivide Nonplanar Polys
- Splits all non-planar polygons into triangles.
-
- Merge Redundant Vertices
- Finds all redundant vertices (two vertices at the exact same point in
- space) and joins them.
-
- Remove Redundant Polys
- Finds all redundant polys (two polys connecting the exact same
- vertices) and removes the extra poly in each case.
-
- Unfold
- Generate Convex Hull
- These are future Really Neat Features.
-
- Create Dual as new object
- This is the second Really Neat feature.
- Every fully-connected polyhedron has a dual, which is formed by
- exchanging the configuration of faces with vertices. For example, the
- cube's dual is the octahedron, and the icosahedron's dual is the pentagon
- dodecahedon. Complex geodesic structures also have their duals, which are
- typically complex "fly's eye" structures involving many hexagons.
- Naturally, a dual of a dual is the original shape.
-
-
- OPTIONS
- -------
- Display Coordinates
- Toggle display of the current X,Y,Z location.
-
- Display Crosshair
- Gives you a "+" crosshair, useful for lining up parts of an object.
- You can set the color of the crosshair with "Set View Colors" under
- the VIEW menu.
-
- Display Axes
- Toggle display of the X, Y, and Z axes.
-
- Display Object List
- Toggle display of a list of all objects in a seperate window.
-
- Reference Line
- Toggle display of the reference line.
-
- Undo Buffer Active
- Toggle whether Undo is turned on for the current object.
-
- Grid On
- Toggle display of the visible grid.
-
- Snap cursor to Grid
- Toggle snapping of the cursor to the snap grid (which can be
- different from the visible grid).
-
- Poly Normals / Vertex Normals
- Ignore these menu items.
-
- Display options...
- Sets options having to do with the display:
- Visible grid size
- Snap grid size
- Display grid as dots or lines
- How to display geometry when you'rre dragging it
-
- More options...
- Sets other options:
- Rotation constraint
- Scale/Stretch contraint
- Definition of object "center"
- "Undo buffer size" affects the undo buffer only at the next time you
- start Polywog - it doesn't change or damage your current undo
- buffer.
- "Assume a polyhedron" tell the features on the Special menu (notably
- Find Dual and Normalize) to assume that the shape you're working
- with is a polyhedron. Set this option whenever you DO have a
- polyhedron.
-
-
- *****************************************************************************
-
- K E Y B O A R D S H O R T C U T S
-
- a - Area: space bar - full refresh
- s - Select c - Vertex at center
- d - Deselect d - toggle Ref line
- z - Zoom into f - Front view
- F - Fake 3D view
- 3 - 3-sided poly: 4 - 4-sided poly:
- a - Add a - Add
- d - Delete d - Delete
- g - toggle Grid i - Info
- G - toggle Grid-snap j - Zoom to selection
- l - Line: p - Poly:
- a - Add a - Add
- d - Delete d - Delete
- m - Move mode n - Next object
- o - toggle Objectlist q - Quit
- r - Rotate s - Side view
- v - Vertex: t - Top view
- a - Add u - Undo
- d - Delete U - Redo
- s - Select backspace - kill selected
- m - Move z - zoom in
- x - toggle Crosshair Z - zoom out
- Esc - deselect/select All ~ - cycle palette
-
- SHIFT can be used to extend selection in area-select mode.
-
- *****************************************************************************
-
- About the Author
- ----------------
-
- I originally wrote this program while dropping out of Caltech, due to
- spending too much time with my hobby, 3D geometry, which no one was
- interested in teaching me about. Much of the original coding was done
- during a few months of unemployment in Berkeley in early summer 1990.
- Since then I've been doing small amounts of additional work on weekends,
- and ported it to the Macintosh and MS Windows.
-
- I am currently (1/13/95) reachable at iguana@crl.com.
-
- ******************
-
- Amiga version notes
-
- Before running: make sure you have the reqtools.library in your LIBS:
- directory. It may be included in this archive case you don't have it
- already.
-
- There are some command line options from a CLI:
- -c to run on a custom screen (default)
- -m to run on the default display (workbench screen)
- -sm to make the custom screen medium-res
- -sp to use the workbench palette
-
- Sorry, Workbench fans, no ToolTypes stuff.
- Polywog also doesn't run under AmigaOS V1.3.
-
-
- ******************
-
- H I S T O R Y
-
- Version 1.88
- ------------
- Added POV triangle output
-
- Fixed "Subdivide quads" to preserve colors.
-
- Mlib now converts "*" to "#?" for show-pattern, for Amiga users who
- aren't using "*" as their wildcard.
-
- The Remove Redundant Polys function now shows the percent done.
-
- Rotate now shows the actual rotation on-sceen (rubber-bands just like
- movement).
-
- Duplicate Selection now states the # of verts copied.
-
- Cylinder constructor now uses radio buttons.
-
- Added key to toggle fake3D.
-
- Zoom in/out menus (used to be key shortcut only)
-
- Undo buffer now stays on by default
-
- Mlib was changed so that custom screens open to default "Text
- Overscan" size, not the size of the Workbench screen.
-
- Wrote documentation.
-
- Version 1.87
- ------------
- Sent for beta-testing to 18 people. People wanted more file formats
- and closer adherence to the Amiga Style Guide. Nobody reported bugs!
-
-
- *************
- Legal Baloney
-
- See the file "license.wog" for the legal status of Polywog and terms
- under which you can use it. To summarize here, you can copy and use it
- freely, but all liability is disclaimed blah blah blah.
-
-